Embodiments of the present invention relate to event processing, and more particularly relate to techniques for distributing the timing of reauthorization requests.
Many service operators/providers in the fields of telecommunications, content delivery, and the like operate event processing systems to manage the billing and service access of end-users (e.g., subscribers). One of the functions performed by these systems is known as subscriber authorization and reauthorization. In a typical authorization transaction, a subscriber (or an intermediary on behalf of the subscriber) submits an authorization request to consume a quantity of the service. If the subscriber has sufficient resources, the system authorizes the subscriber to consume the quantity over a period of time (i.e., validity time period). A reauthorization request may be subsequently submitted if, for example, the subscriber has fully consumed the granted quantity, or if the validity time period has expired.
Generally speaking, the validity time period of a granted quantity of service will extend to the time of a service pricing change (i.e., tariff change), as defined by a pricing configuration of the service. At the time of the service pricing change, the granted quantity will expire. For example, consider a pricing configuration for an Internet access service where the service price is $1.00 per megabyte (MB) from 8:00 AM to 6:00 PM, and $0.10 per MB from 6:00 PM to 8:00 AM. If a subscriber makes an authorization request at 7:30 AM to consume 1 MB of data, the request will be granted at the service price of $0.10 per MB for a validity time period of thirty minutes (i.e., until 8:00 AM—the time at which the service price changes). At 8:00 AM, the subscriber will generally have to submit a reauthorization request to ask for a new quantity at the $ 1.00 per MB price if the subscriber is still active on the network.
For a given service, it is common for many subscribers to be associated with the same pricing configuration. As a result, a large number of reauthorization requests may be received simultaneously at the time of a service pricing change. This creates an undesirable spike in network traffic to the system at those times, thereby reducing overall system performance, responsiveness, and reliability.
A known solution to the above problem is to increase the processing capacity of the event processing system. For example, additional processing power, network bandwidth, and the like may be added to increase the number of authorizations/reauthorizations the system can process at a given time. However, this approach can be very costly for a service operator/provider, particularly if the subscriber base of the service operator/provider is large. Further, this approach is inefficient because the extra processing capacity is only necessary to handle the spikes in reauthorization requests received at the times of service pricing changes. At other times the load on the event processing system will be relatively low, and thus the extra capacity will go unused.